/**
 * Created by fdg296 on 2017/9/29.
 */
$(document).ready(function(){
    $.fn.dataTable.ext.errMode = 'none';
    $('#table_id_example').on( 'error.dt', function ( e, settings, techNote, message ) {
        $.jBox.error(GLOBAL_DATATBALE_ERROR_302, '错误');
        return false;
    } ).DataTable({
        dom: '<"top">rt<"bottom"flip><"clear">',
        language: {
            "sUrl":'../static/plugins/datatables/language.json'
        },
        "searching": false,
        "processing": true,
        "serverSide": true,
        ajax:{
            url:'/goods-spec/get-spec-group-list',
            type:'post',
            data:function(d){
                d.spec_group_name = $('#spec_group_name').val();
            },
            error:getError
        },
        aoColumns: [
            { "data": "", "bSortable": false},
            { "data": "id", "bSortable": true},
            { "data": "spec_group_name", "bSortable": false },
            { "data": "spec_type", "bSortable": false },
            { "data": "id", "bSortable": false },
            { "data": "sort", "bSortable": true },
            { "data": "use_flg", "bSortable":false }
        ],
        columnDefs: [
            {
                "targets": [0],
                "orderable":false,
                "searchable":false,
                "render": function(data, type, full) {
                    return '<a href="javascript:" onclick="updateSpecGroup('+ full.id +')">修改</a>';
                }
            },
            {
                "targets": [1],
                "searchable":false
            },
            {
                "targets": [3],
                "orderable":false,
                "searchable":false,
                "render": function(data, type, full) {
                    if(data == 1){
                        return 'COLOR';
                    }else if(data == 2){
                        return 'SIZE';
                    }else{
                    	return 'OTHER';
                    }
                }
            },
            {
                "targets": [4],
                "orderable":false,
                "searchable":false,
                "render": function(data, type, full) {
                    return '<a href="javascript:" onclick="specList('+ full.id +','+ full.spec_type +')">规格</a>';
                }
            },
            {
                "targets": [6],
                "data": "use_flg",
                "render": function(data, type, full) {
//                    if(data == 1){
//                        return '<a href="javascript:" onclick="disableClick('+ full.id +')">禁用</a>';
//                    }else{
//                        return '<a href="javascript:" onclick="enableClick('+ full.id +')">启用</a>';
//                    }
                	return '<span class="switch" data-id="'+ full.id +'" data-flg="'+(data == 1 ? 0 : 1)+'"><input  style="width:20px;height:20px;" type="checkbox" '+(data == 1 ? 'checked="checked"' : '')+' class="input-check"></span>';
                }
            }
        ],
        order: [[ 1, "desc" ]]
    });

    $('#spec_id_example').DataTable({
        dom: '<"top">rt<"bottom"flip><"clear">',
        language: {
            "sUrl":'../static/plugins/datatables/language.json'
        },
        "searching": false,
        "processing": true,
        "serverSide": true,
        ajax:{
            url:'/goods-spec/get-spec-list',
            type:'post',
            data:function(d){
                d.spec_name = $('#spec_name').val();
                d.spec_group_id = $('#search_spec_group_id').val();
            }
        },
        aoColumns: [
            { "data": "", "bSortable": false},
            { "data": "id", "bSortable": true},
            { "data": "spec_name", "bSortable": false },
            { "data": "spec_val", "bSortable": false },
            { "data": "spec_group_name", "bSortable": false },
            { "data": "sort", "bSortable": true },
            { "data": "use_flg", "bSortable":false }
        ],
        columnDefs: [
            {
                "targets": [0],
                "orderable":false,
                "searchable":false,
                "render": function(data, type, full) {
                    return '<a href="javascript:" onclick="updateSpec('+ full.id +')">修改</a>';
                }
            },
            {
                "targets": [1],
                "searchable":false
            },
            {
                "targets": [6],
                "data": "use_flg",
                "render": function(data, type, full) {
//                    if(data == 1){
//                        return '<a href="javascript:" onclick="disableSpec('+ full.id +')">禁用</a>';
//                    }else{
//                        return '<a href="javascript:" onclick="enableSpec('+ full.id +')">启用</a>';
//                    }
                	return '<span class="switch" data-id="'+ full.id +'" data-flg="'+(data == 1 ? 0 : 1)+'"><input  style="width:20px;height:20px;" type="checkbox" '+(data == 1 ? 'checked="checked"' : '')+' class="input-check"></span>';
                }
            }
        ],
        order:[[1,'desc']]
    });
});

function search_spec_list(){
	var table = $('#spec_id_example').DataTable();
    table.ajax.reload();
}

$('#reset_spec_button').on('click',function(){
	$('#spec_name').val('');
    search_spec_list();
});

var image_bath_url = $('#imageBathUrl').val();

$('#add_button').click(function(){
    $('#add-spec-group-modal').modal('show');
})

$('#select_button').click(function(){
    var table = $('#table_id_example').DataTable();
    table.ajax.reload();
})

$('#reset_button').click(function(){
    $('#spec_group_name').val('');
    var table = $('#table_id_example').DataTable();
    table.ajax.reload();
})

$('.ajax_post_add_group').click(function(){
    var spec_group_name_add = $('spec_group_name_add').val();
    if(spec_group_name_add == ''){
        $.jBox.error('请输入规格组名称', '错误');
        return false;
    }
    $.post($('#add_group_form').attr('action'),$('#add_group_form').serialize(),success,'json');
    return false;
    function success(data){
        if(data.code == 200)
        {
            $.jBox.tip('处理成功', 'success');
            window.setTimeout(function(){
                self.location.reload();
            }, 1000);
        }
        else{
            $.jBox.error(data.val, '错误');
        }
    }
})

function updateSpecGroup(id){
    $('#update_group_id').val(id);
    $.post('/goods-spec/get-spec-group-detail',{id:id},success,'json');
    return false;
    function success(data){
        if(data == null){
            $('#update-spec-group-modal').modal('show');
        }else{
            if(data.code == 500){
                $.jBox.error(data.val, '错误');
            }else{
                $('#update_group_id').val(data.id);
                $('#spec_group_name_update').val(data.spec_group_name);
                $('#spec_group_sort_update').val(data.sort);
                $('#spec_type_update').val(data.spec_type);
                $('#spec_group_use_flg_update').val(data.use_flg);
                $('#update-spec-group-modal').modal('show');
            }
        }
    }
}

$('.ajax_post_update_group').click(function(){
    var spec_group_name_update = $('#spec_group_name_update').val();
    if(spec_group_name_update == ''){
        $.jBox.error('请输入规格组名称', '错误');
        return false;
    }
    $.post($('#update_group_form').attr('action'),$('#update_group_form').serialize(),success,'json');
    return false;
    function success(data){
        if(data.code == 200)
        {
            $.jBox.tip('处理成功', 'success');
            window.setTimeout(function(){
                self.location.reload();
            }, 1000);
        }
        else{
            $.jBox.error(data.val, '错误');
        }
    }
})

//禁用
function disableClick(id){
    $.jBox.confirm("确定禁用吗？", "提示", function(v){
        if (v == 'ok'){
            $.post('/goods-spec/disable-group',{id:id},success,'json');
            return false;
            function success(data){
                if(data.code == 200)
                {
                    $.jBox.tip('处理成功', 'success');
                    window.setTimeout(function () { self.location.reload(); }, 1000);
                }
                else{
                    $.jBox.error(data.val, '错误');
                }
            }
        }else{
        	$('#table_id_example').find('span[data-id='+id+']').children('input').prop('checked',true);
            $.jBox.close();
        }
    });
}

//启用
function enableClick(id){
    $.jBox.confirm("确定启用吗？", "提示", function(v){
        if (v == 'ok'){
            $.post('/goods-spec/enable-group',{id:id},success,'json');
            return false;
            function success(data){
                if(data.code == 200)
                {
                    $.jBox.tip('处理成功', 'success');
                    window.setTimeout(function () { self.location.reload(); }, 1000);
                }
                else{
                    $.jBox.error(data.val, '错误');
                }
            }
        }else{
        	$('#table_id_example').find('span[data-id='+id+']').children('input').prop('checked',false);
            $.jBox.close();
        }
    });
}

//禁用
function disableSpec(id){
    $.jBox.confirm("确定禁用吗？", "提示", function(v){
        if (v == 'ok'){
            $.post('/goods-spec/disable-spec',{id:id},success,'json');
            return false;
            function success(data){
                if(data.code == 200)
                {
                    $.jBox.tip('处理成功', 'success');
                    window.setTimeout(function () {
                        $.jBox.close();
                        var table = $('#spec_id_example').DataTable();
                        table.ajax.reload();
                    }, 1000);
                }
                else{
                    $.jBox.error(data.val, '错误');
                }
            }
        }else{
        	$('#spec-list-modal').find('span[data-id='+id+']').children('input').prop('checked',true);
            $.jBox.close();
        }
    });
}

//启用
function enableSpec(id){
    $.jBox.confirm("确定启用吗？", "提示", function(v){
        if (v == 'ok'){
            $.post('/goods-spec/enable-spec',{id:id},success,'json');
            return false;
            function success(data){
                if(data.code == 200)
                {
                    $.jBox.tip('处理成功', 'success');
                    window.setTimeout(function () {
                        $.jBox.close();
                        var table = $('#spec_id_example').DataTable();
                        table.ajax.reload();
                    }, 1000);
                }
                else{
                    $.jBox.error(data.val, '错误');
                }
            }
        }else{
        	$('#spec-list-modal').find('span[data-id='+id+']').children('input').prop('checked',false);
            $.jBox.close();
        }
    });
}

function specList(id,type){
    $('#search_spec_group_id').val(id);
    $('#check_spec_type').val(type);
    $('#spec_name').val('');
    var table = $('#spec_id_example').DataTable();
    table.ajax.reload();
    $('#spec-list-modal').modal('show');
}

$('#add_spec_button').click(function(){
    var search_spec_group_id = $('#search_spec_group_id').val();
    $('#find_spec_group').val(search_spec_group_id);
    $('#add_spec_group_id').val(search_spec_group_id);
    $('#input_table').empty();
    $('#input_table').append('<tr> <th>规格</th> <th>规格值</th> <th>操作</th> </tr>');
    $('#add-spec-modal').modal('show');
})

$('#add_input').click(function(){
    var tr_length = $('#input_table').find('tr').length;

    var tr_length_ot = 0;

    $('#input_table').find('tr').each(function(){
        var data_length = $(this).attr('data-length');
        if(data_length != '' && data_length != undefined){
            tr_length_ot = eval(data_length);
        }
    })

    if(eval(tr_length_ot) > 0){
        tr_length = tr_length_ot + 1;
    }

    var html = '<tr data-length="'+tr_length+'"><td>'+
        '<input name="spec_name[]" class="form-control">'+
        '<input class="input_table_sort" value="'+tr_length+'" name="add_spec_sort[]" type="hidden">'+
        '<input class="input_table_img" value="" name="add_spec_img[]" type="hidden"></td>'+
        '<td><input name="spec_val[]" class="form-control"></td>'+
        '<td><a href="javascript:;" class="up_input_table_tr">上移</a>'+
        ' <a href="javascript:;" class="down_input_table_tr">下移</a>'+
        ' <a class="del_input_table_tr" href="javascript:;">删除</a>'+
        ' <a class="check_upload_img" href="javascript:;">上传图片</a></td> </tr>';
    $('#input_table').append(html);

    var check_spec_type = $('#check_spec_type').val();
    if(eval(check_spec_type) == 0){
        $('.check_upload_img').hide();
    }
})

//图片上传
$('table').delegate('.check_upload_img','click',function(){
    var check_img_val = $(this).parent().parent().attr('data-length');
    $('#check_img_val').val(check_img_val);
    $('.upload_file_ot').trigger('click');
})

$('.upload_file_ot').change(function(){
    if(this.value == ''){

    }else{
        $('#upload_form_update').submit();
    }
})
$('#upload_form_update').submit(function(e){
    e.preventDefault();
    $(this).ajaxSubmit({
        beforeSend:function(){
            $('.upload-img-btn-ot').attr('disabled',true);
        },
        success:function(data){
            var result = $.parseJSON(data);
            if(result.code == 500){
                $.jBox.error(result.val, '错误');
            }else{
                var check_img_val = $('#check_img_val').val();
                $('#input_table').find('tr').each(function(){
                    var table_data_length = $(this).attr('data-length');
                    if(eval(table_data_length) == eval(check_img_val)){
                        $(this).find('.input_table_img').val(result.val);
                        $(this).find('a.check_show_img').remove();
                        $(this).find('.check_upload_img').after(' <a class="check_show_img" onclick="showMoreImg('+check_img_val+')" img-url="'+result.val+'" href="javascript:;">查看图片</a>');
                    }
                })
            }
        }
    });

});

$('table').delegate('.del_input_table_tr','click',function(){
    $(this).parent().parent().remove();
})

$('table').delegate('.up_input_table_tr','click',function(){
    var tr_index = $(this).parent().parent().prev().index();
    if(eval(tr_index) == 0){
        return true;
    }else{
        var obj = $(this).parent().parent().clone();
        $(this).parent().parent().prev().before(obj);
        $(this).parent().parent().remove();
    }

    $('#input_table').find('tr').each(function(){
        var tr_index = $(this).index();
        var data_length = $(this).attr('data-length');
        if(data_length != '' && data_length!= undefined && data_length != 0){
            $(this).attr('data-length',tr_index);
            $(this).find('.input_table_sort').val(tr_index);
        }
    })
})

$('table').delegate('.down_input_table_tr','click',function(){
    var tr_index = $(this).parent().parent().next().index();
    if(eval(tr_index) > eval(-1)){
        var obj = $(this).parent().parent().clone();
        $(this).parent().parent().next().after(obj);
        $(this).parent().parent().remove();
    }

    $('#input_table').find('tr').each(function(){
        var tr_index = $(this).index();
        var data_length = $(this).attr('data-length');
        if(data_length != '' && data_length!= undefined && data_length != 0){
            $(this).attr('data-length',tr_index);
            $(this).find('.input_table_sort').val(tr_index);
        }
    })
})

$('.ajax_post_add_spec').click(function(){
    $.post($('#add_spec_form').attr('action'),$('#add_spec_form').serialize(),success,'json');
    return false;
    function success(data){
        if(data.code == 200)
        {
            $.jBox.tip('处理成功', 'success');
            window.setTimeout(function(){
                var table = $('#spec_id_example').DataTable();
                table.ajax.reload();
                $('#add-spec-modal').modal('hide');
            },1000);
        }
        else{
            $.jBox.error(data.val, '错误');
        }
    }
})

function showMoreImg(check_img_val){
    var img_url = '';
    $('#input_table').find('tr').each(function(){
        var table_data_length = $(this).attr('data-length');
        if(eval(table_data_length) == eval(check_img_val)){
            img_url = $(this).find('.check_show_img').attr('img-url');
        }
    })
    var json = {
        "title": "分类图片", //相册标题
        "id": 0, //相册id
        "start": 0, //初始显示的图片序号，默认0
        "data": [   //相册包含的图片，数组格式
            {
                "alt": "",//图片名
                "pid": 0, //图片id
                "src": image_bath_url + img_url, //原图地址
                "thumb": "" //缩略图地址
            }
        ]
    };
    layer.photos({
        photos: json
    });
}

function updateSpec(id){
    $('#update_img_url').val('');
    $('.show-img-btn-update').hide();
    $('#update_spec_id').val(id);
    $('#update-spec-modal').modal('show');
    $.post('/goods-spec/get-spec-detail',{id:id},success,'json');
    return false;
    function success(data){
        if(data == null){
            $('#update-spec-modal').modal('show');
        }else{
            if(data.code == 500){
                $.jBox.error(data.val, '错误');
            }else{
                $('#update_spec_id').val(data.id);
                $('#update_spec_group_id').val(data.spec_group_id);
                $('#select_spec_group_id').val(data.spec_group_id);
                $('#update_spec_name').val(data.spec_name);
                $('#update_spec_val').val(data.spec_val);
                $('#update_spec_sort').val(data.sort);
                $('#update_spec_use_flg').val(data.use_flg);
                if(data.img_url != ''){
                    $('#update_img_url').val(data.img_url);
                    $('.show-img-btn-update').attr('data-img',data.img_url);
                    $('.show-img-btn-update').show();
                }
                $('#update-spec-modal').modal('show');
            }
        }
    }
}

$('.upload-img-btn-update').click(function(){
    $('.upload_file_update').trigger('click');
})
$('.upload_file_update').change(function(){
    if(this.value == ''){

    }else{
        $('#upload_form_update_update').submit();
    }
})
$('#upload_form_update_update').submit(function(e){
    e.preventDefault();
    $(this).ajaxSubmit({
        beforeSend:function(){
            $('.upload-img-btn-update').attr('disabled',true);
        },
        success:function(data){
            var result = $.parseJSON(data);
            if(result.code == 500){
                $.jBox.error(result.val, '错误');
            }else{
                $('.show-img-btn-update').attr('data-img','');
                $('.show-img-btn-update').hide();
                $('.upload-img-btn-update').attr('disabled',false);
                $('.show-img-btn-update').attr('data-img',result.val);
                $('#update_img_url').val(result.val);
                $('.show-img-btn-update').show();
            }
        }
    });

});

$('.ajax_post_spec_update').click(function(){
    var update_spec_name = $('#update_spec_name').val();
    var update_spec_val = $('#update_spec_val').val();
    if(update_spec_name == ''){
        $.jBox.error('请输入规格名称', '错误');
        return false;
    }
    if(update_spec_val == ''){
        $.jBox.error('请输入规格值', '错误');
        return false;
    }
    $.post($('#update_spec_form').attr('action'),$('#update_spec_form').serialize(),success,'json');
    return false;
    function success(data){
        if(data.code == 200)
        {
            $.jBox.tip('处理成功', 'success');
            window.setTimeout(function(){
                var table = $('#spec_id_example').DataTable();
                table.ajax.reload();
                $('#update-spec-modal').modal('hide');
            },1000);
        }
        else{
            $.jBox.error(data.val, '错误');
        }
    }
})

$('.show-img-btn-update').click(function(){
    var img_url = $(this).attr('data-img');
    showImg(img_url);
})

function showImg(obj){
    if(obj == '' || obj == null || obj == undefined){
        $.jBox.error('数据为空', '错误');
        /*layer.alert("数据为空！", {
         skin: 'layui-layer-molv' //样式类名
         ,closeBtn: 0
         });*/
        return;
    }
    var json = {
        "title": "分类图片", //相册标题
        "id": 0, //相册id
        "start": 0, //初始显示的图片序号，默认0
        "data": [   //相册包含的图片，数组格式
            {
                "alt": "",//图片名
                "pid": 0, //图片id
                "src": image_bath_url + obj, //原图地址
                "thumb": "" //缩略图地址
            }
        ]
    };
    layer.photos({
        photos: json
    });
}

$('#table_id_example').on('click','.input-check',function(){
	var id = $(this).parent().attr('data-id');
	var use_flg = $(this).parent().attr('data-flg');
	if(use_flg == 1){
		enableClick(id);
	}else{
		disableClick(id);
	}
});

$('#spec-list-modal').on('click','.input-check',function(){
	var id = $(this).parent().attr('data-id');
	var use_flg = $(this).parent().attr('data-flg');
	if(use_flg == 1){
		enableSpec(id);
	}else{
		disableSpec(id);
	}
});